//#include <iostream>
//
//using namespace std;
//
//class Solution {
//public:
//    bool canReach(string s, int minJump, int maxJump) {
//        int i = 0;
//        int j = 0;
//        int max = 0;
//        int min = 0;
//
//        int flag = 0;   //0表示没有s[j]='0'的情况
//
//        do
//        {
//            //获取次大值max
//            max = i + maxJump;
//            if (s.length() - 1 < i + maxJump)
//                max = s.length() - 1;
//
//            //获取min
//            // min = i + minJump;
//            // //检查min 防止越界
//            // if(min > s.length() - 1)
//            // //此时可能出现符合条件但是未检索完全的情况
//            // {//那么min需要复位到上一次位置的下一位
//            //     if(i < max)
//            //         min = i + 1;
//            // }  
//            min = i + minJump;
//            if (min > s.length() - 1)
//                return false;
//
//            //遍历范围(min, max) 来取得满足j的值 只要有一个成立
//            //循环就可以继续
//            for (j = min; j <= max; j++)
//            {
//                if (s[j] == '0')
//                {
//                    i = j;
//                    flag = 1;
//                    // 此处出于max的限制
//                    // 有时无法使得i == s.length() - 1
//                    if (i == s.length() - 1)
//                        return true;
//                }
//            }
//
//            //特殊情况  全是0 且max很大
//            int z = 0;
//            for (z = j; z < s.length() - 1; z++)
//            {
//                if (s[z] != '0')
//                    break;
//            }
//            if (z == s.length() - 1)
//                return true;
//
//            if (flag == 0)
//                return false;
//            else
//                flag = 0;
//
//        } while (true);
//    }
//
//};
//
//
//int main()
//{
//    //逮到你了
//    //string s = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
//    string s = "000000000000000000000";
//    bool bl = Solution().canReach(s, 5, s.length()-2);
//    cout << bl << endl;
//
//    return 0;
//
//
//}


